﻿Public Class clcasillaFuego : Inherits clCasilla : Implements IEquatable(Of clcasillaFuego)
    Public Event Quemar(ByVal sender As clCasilla, ByVal e As clSueloDañinoEventArgs)
    Public Sub New(ByVal Objeto As Control)
        MyBase.New(ElSuelo.DañinoAccesible, Objeto)
        ImagenPredeterminada = My.Resources.NuevaLava
        If Objeto.GetType = GetType(PictureBox) Then
            TryCast(Objeto, PictureBox).BackgroundImage = ImagenPredeterminada
        End If
    End Sub
    Public Property Daño As Integer
    ''' <summary>
    ''' Llama al evento de Quemar. La casilla y el heroe deben coincidir para que se llame al evento
    ''' </summary>
    ''' <param name="heroe">¿A qué heroe tiene que controlar?</param>
    ''' <remarks></remarks>
    Public Sub Dañar(ByVal heroe As clHeroe)
        If heroe.ControlDelHeroe.Control.Location = Me.Control.Location Then
            Dim MiE As New clSueloDañinoEventArgs(Daño)
            RaiseEvent Quemar(Me, MiE)
        End If
    End Sub



    Public Overloads Function Equals(ByVal Fuego As clcasillaFuego) As Boolean Implements System.IEquatable(Of clcasillaFuego).Equals
        Return clCasilla.Equals(Me, Fuego)
    End Function
    Public Overloads Shared Function Equals(ByVal FuegoA As clcasillaFuego, ByVal FuegoB As clcasillaFuego) As Boolean
        Return FuegoA.GetType = FuegoB.GetType And FuegoA.Control.Name = FuegoB.Control.Name
    End Function
End Class
